package cn.lg.soar.system.api.service;

import cn.lg.soar.system.api.model.PermitDTO;

import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * @author luguoxiang
 * @date 2022/1/2
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
public interface IPermitApi {

    List<String> codesByRoleId(Long roleId);

    List<PermitDTO> listByCodes(List<String> codes);

    List<PermitDTO> listByIds(List<Long> ids);

    PermitDTO getById(Long id);

    default Map<Long, PermitDTO> mapByIds(List<Long> ids) {
        return listByIds(ids).stream().collect(Collectors.toMap(PermitDTO::getId, x -> x));
    }
}
